/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Controller;

import Model.GpsSemaforo;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

/**
 *
 * @author Rossy
 */
public class LecturaSemaforo {
    
    FileInputStream fstream = null;
    DataInputStream entrada = null;
    BufferedReader buffer = null;
    File archivo = null;
    FileReader fr = null;
    BufferedReader br = null;
    
    public ArrayList<GpsSemaforo> abrirArchivo(String file){
        String linea;
        ArrayList<GpsSemaforo> gpsList = new ArrayList<GpsSemaforo>();
        GpsSemaforo gps;

        try {
            // Apertura del fichero y creacion de BufferedReader para poder
            // hacer una lectura comoda (disponer del metodo readLine()).
            archivo = new File (file);
            fr = new FileReader (archivo);
            br = new BufferedReader(fr);
            // Lectura del fichero
            while((linea=br.readLine())!=null){
                gps=leerLinea(linea);
                gpsList.add(gps);
            }
        }
      catch(Exception e){
         e.printStackTrace();
      }finally{
         // En el finally cerramos el fichero, para asegurarnos que se cierra tanto si todo va bien como si salta una excepcion.
         try{                    
            if( null != fr ){   
               fr.close();     
            }                  
         }catch (Exception e2){ 
            e2.printStackTrace();
         }
      }
      return gpsList;  
   }
    
    
    public GpsSemaforo leerLinea(String linea){
          StringTokenizer token;
          String strPosX,strPosY,strTiempo,strHorizontal;
          GpsSemaforo gps=new GpsSemaforo();
          int posX, posY, tiempo, esHorizontal;
          
          token = new StringTokenizer(linea,",");
          strPosX = token.nextToken();
          strPosY = token.nextToken();
          strTiempo = token.nextToken();
          strHorizontal = token.nextToken();
          
          posX=Integer.parseInt(strPosX);
          posY=Integer.parseInt(strPosY);
          tiempo=Integer.parseInt(strTiempo);
          esHorizontal=Integer.parseInt(strHorizontal);
          
          gps.setPosX(posX);
          gps.setPosY(posY);
          gps.setTiempo(tiempo);
          gps.setEsHorizontal(esHorizontal);
          
          return gps;
    }

}
    

